// Promise.resolve()
// 总结：then 方法的执行是看promise的状态
//  -- 接受参数是thenable对象，返回的promise是pending状态；
   // -- 如果是thenable对象，就会自动执行对象上的then方法
// 接收参数是promise实例对象的话，返回的promise取决于回调函数内部表达式，如果是resolve，则为fullfilled
   // -- 如果是promise实例对象，返回的是它本身
//  -- 其他情况返回的promise都是fullfilled状态；

let a ={
    then(resolve, reject){
        console.log('--then');
        // resolve();
        return '1111'
    }
}
const b = new Promise((resolve, reject)=>{
  resolve(2)
})

// 情况1 当参数 是一个thenable对象；
// 什么是 thenable对象？ 实现了then方法;
const p1 = Promise.resolve(a);

// 情况2 当参数是一个值
const p2 =Promise.resolve({});

// 情况3 当参数是一个promise
const p3 = Promise.resolve(b);

console.log(p1); // Promise { <pending> }

console.log(p2); // Promise { 123 }

console.log(p3); //

p3.then(()=>{
    console.log('p3');
})